Contains the interfaces for the factory objects, for the instantiation of layers implementation
and data structures
